# 1.如何定义元组
# (): 定义元组,提高运算符的优先级,包裹任意数据,函数传参
# []: 定义列表,通过索引去取值,切片
# {}: 定义字典,定义集合

# tuple_01 = ("a",)

# 2.元组的索引
# print(tuple_01[0])

# 3.元组在序列中的公共操作
'''
    符号:
        # x in s : 如果 s 中的某项等于 x 则结果为 True，否则为 False
        # x not in s : 如果 s 中的某项等于 x 则结果为 False，否则为 True
        # s + t :  s 与 t 相拼接
        # s * n 或 n * s : 相当于 s 与自身进行 n 次拼接
        # s[i] : 通过索引取值,编程界的索引是从0开始 (索引也可以称为下标)
        # s[i:j] : 切片, s 从 i 到 j 的切片
        # s[i:j:k] : 切片 , s 从 i 到 j 步长为 k 的切片
'''
'''
    函数:
        # len(s) : s 的长度
        # min(s) : s 的最小项
        # max(s) : s 的最大项
'''
'''
    方法:
        # s.index(x[, i[, j]]): x 在 s 中首次出现项的索引号（索引号在 i 后且在 j 前）
        # s.count(x) : x 在 s 中出现的总次数
'''
# print(len(tuple_01))
# print(tuple_01.count("a"))

# 4.如何遍历元组
# 如何遍历元组的值
tuple_02 = ("a","b","c","d","e")
# for i in tuple_02:
#     print(i)

# 如何遍历元组的值和索引
# length = len(tuple_02)
# for i in range(length):
#     print(i,tuple_02[i])

# 通过枚举来遍历值和索引
# print(list(enumerate(tuple_02)))
# for i,j in enumerate(tuple_02):
#     print(i,j)

# 嵌套元组应该如何遍历
tuple_03 = (("a",'b',"c","d"),(1,2,3),('*',"&","$"))
# for i,j,k in tuple_03:
#     print(i,j,k)

for item in tuple_03:
    for val in item:
        print(val)


# 5.元组中的常用方法
# 元组最大的特征: 不可改变
# tuple_04 = (1,)
# del tuple_04
# print(tuple_04)

list_01 = [1,2,3]
# list_01[2] = "a"
# del list_01[1]
del list_01
print(list_01)